package com.kld.generator.service;

import com.kld.generator.domain.GenTableColumn;

import java.util.List;

/**
 * 业务字段 服务层
 *
 * @author Lion Li
 */
public interface IGenTableColumnService {
    /**
     * 查询业务字段列表
     *
     * @param tableId 业务字段编号
     * @return 业务字段集合
     */
    List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId);

    /**
     * 查询业务字段列表排除id字段
     *
     * @param tableId 业务字段编号
     * @return 业务字段集合
     */
    List<GenTableColumn> selectGenTableColumnListNotIdByTableId(Long tableId);

    /**
     * 新增业务字段
     *
     * @param genTableColumn 业务字段信息
     * @return 结果
     */
    int insertGenTableColumn(GenTableColumn genTableColumn);

    /**
     * 修改业务字段
     *
     * @param genTableColumn 业务字段信息
     * @return 结果
     */
    int updateGenTableColumn(GenTableColumn genTableColumn);

    /**
     * 删除业务字段信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteGenTableColumnByIds(String ids);

    /**
     * 删除业务字段信息
     *
     * @param tableId 需要删除的数据ID
     * @return 结果
     */
    Integer deleteGenTableColumnByTableId(Long tableId);

    /**
     * 创建/修改表字段
     * @param tableName 业务表信息
     */
    int createColumn(String tableName,List<GenTableColumn> columns);

    /**
     * 删除表字段
     * @param tableName 业务表信息
     */
    int dropColumn(String tableName,List<GenTableColumn> columns);
}
